// test_login.js - 测试登录接口
const axios = require('axios');

const BASE_URL = 'http://localhost:3000/api';
const USER_CREDENTIALS = {
  username: 'user',
  password: '123456'
};

async function testLogin() {
  console.log('开始测试登录接口...');
  console.log(`请求URL: ${BASE_URL}/auth/login`);
  console.log('请求数据:', JSON.stringify(USER_CREDENTIALS, null, 2));
  
  try {
    // 设置超时时间并启用详细日志
    const config = {
      timeout: 10000,
      headers: {
        'Content-Type': 'application/json'
      }
    };
    
    const response = await axios.post(`${BASE_URL}/auth/login`, USER_CREDENTIALS, config);
    console.log('登录请求成功!');
    console.log('响应状态码:', response.status);
    console.log('响应数据:', JSON.stringify(response.data, null, 2));
    return true;
  } catch (error) {
    console.error('登录请求失败!');
    if (error.code) {
      console.error('错误代码:', error.code);
    }
    if (error.message) {
      console.error('错误信息:', error.message);
    }
    if (error.response) {
      console.error('响应状态码:', error.response.status);
      console.error('响应数据:', JSON.stringify(error.response.data, null, 2));
    } else if (error.request) {
      console.error('请求已发送但未收到响应');
      console.error('请求详情:', JSON.stringify(error.request, null, 2).substring(0, 500));
    } else {
      console.error('请求配置错误:', error.config ? JSON.stringify(error.config, null, 2).substring(0, 500) : '无配置信息');
    }
    return false;
  }
}

testLogin();